cmake + googletest 之一 入门

您所在的位置:网站首页 gtest github cmake + googletest 之一 入门

cmake + googletest 之一 入门

#cmake + googletest 之一 入门| 来源: 网络整理| 查看: 265

一: 环境 OS: Ubuntu 18.04CMAKE: 3.14.5GTest: 1.8.1

注意:

不涉及如何安装 CMAKE 了, 相信看到这篇文章的你一定已经安装好了.假设你已经基本会使用CMAKE 了.这个博客并不会介绍GTest 的函数用法. 二: 安装 GTest ( google test )

GTest 的 github 地址: https://github.com/google/googletest

为了稳定性, 一般不直接拉取github 上面的代码, 而是下载 release 标签下的源码压缩包. 当前我看到的最新 release 版本是: 1.8.1.

所以下面的命令是 下载 以及 编译 和 安装 的过程.

# 进入到下载目录 cd ~/Downloads # 下载最新的release 并保存为 googletest-1.8.1.tar.gz wget -O googletest-1.8.1.tar.gz https://github.com/google/googletest/archive/release-1.8.1.tar.gz # 解压 tar -zxf googletest-1.8.1.tar.gz # 进入解压后的目录 cd googletest-release-1.8.1 # 为编译创建一个目录 mkdir build && cd build cmake .. make # 安装 sudo make install

头文件安装到了 /usr/local/include/gtest/ 库文件在 /usr/local/lib/ 下, 它们分别是: libgtest.a 和 libgtest_main.a 还有一些cmake 的模块文件被安装到了你的 cmake 模块目录下.

三: cmake 项目常规测试示例

网上大部分博客都没有给出一个真正能让人弄懂或符合实际项目的示例. 我最先掌握的单元测试是 Java 中的 Maven + JUnit 方式的测试, 我认为大多数的单元测试都应该是那样的目录结构.

所以本示例的项目目录结构如下

├── CMakeLists.txt ├── main.cpp ├── src │ └── myproject │ └── myclass.hpp └── test ├── CMakeLists.txt └── test_my_class.cpp

我这里将 项目根目录 描述为 / 目录.

/src 为程序源码目录 /test 是测试代码目录

文件 /src/myproject/myclass.hpp 的内容为:

#pragma once #include class my_class { public: my_class(const std::string& name, int age) { m_age = age; m_name = name; } public: int get_age() { return m_age; } std::string get_name() { return m_name; } private: int m_age; std::string m_name; };

文件 /test/test_my_class.cpp 的内容为:

#include #include TEST(test_my_class, get_age) { my_class myClass("Joel", 21); ASSERT_TRUE(myClass.get_age() == 16)


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3